<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>MS-IME単語登録 PerlScript | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀マクロトップへ</a>
        <li><div class="list-title">
    <span class="no">186</span>
    <a class="thread-title" href="186.html#186">MS-IME単語登録 PerlScript</a></div>
    </li>
    </ul><ul class="main"><li><section><h1 id=186>
    <span class="no">[186]</span>
    <a class="thread-title" href="#186">MS-IME単語登録 PerlScript</a>
    <span class="author">りーや</span>
    <time datetime="2005-07-01T20:35:24">2005年07月01日 20:35</time></h1>
    <div class="body">私にそそのかされてK2Editorから乗り換え中の知り合いから、辞書登録だけはK2が便利といわれたので作っちゃいました。再変換？を利用して読みがなもセットするので、勝ちです？<br><br>選択範囲またはカーソル位置の単語をユーザー辞書に登録するのを支援します。<br>ActivePerlの他に拡張モジュールのWin32::GuiTestが必要です。インストール方法などは <a href=http://perldoc.jp/docs/modules/Win32-GuiTest-1.3/GuiTest.pod target=_top><nobr>http://<wbr>perldoc.<wbr>jp/<wbr>docs/<wbr>modules/<wbr>Win32-<wbr>GuiTest-<wbr>1.<wbr>3/<wbr>GuiTest.<wbr>pod</nobr></a> 参照。<br>JScriptなどへの移植は苦しいので、使える方だけ・・・<br><br># AddWordIME.pls<br>use Win32::GuiTest qw(FindWindowLike SetForegroundWindow SendKeys);<br>use Win32::Clipboard;<br>$CLIP = Win32::Clipboard();<br>$Win32::GuiTest::debug = 0;<br>$execComm = "C:\\WINDOWS\\ime\\IMJP8_1\\imjpdct.exe";<br>@windows = FindWindowLike(0, "\x92\x50\x8c\xea\x2f");<br>$kanji = GetSelectedString(0);<br>unless($kanji){<br>    SelectWord();<br>    $kanji = GetSelectedString(0);<br>}<br>Copy();<br>if (not @windows) {<br>    ExecCommand($execComm  , 0 );<br>    while(not @windows){<br>        sleep 1;<br>        @windows = FindWindowLike(0, "\x92\x50\x8c\xea\x2f");<br>    }<br>}<br>$imeWin = shift(@windows);<br>SetForegroundWindow($imeWin);<br>SendKeys("{PAUSE 300}");<br>SendKeys("%g");<br>SendKeys("^v");<br>$CLIP-&gt;Empty();<br>SendKeys("+{HOME}");<br>SendKeys("{F13}", 300);<br>SendKeys("{ESCAPE}", 200);<br>SendKeys("{ESCAPE}", 200);<br>SendKeys("+{END}");<br>SendKeys("^c");<br>$kana = $CLIP-&gt;GetText();<br>if($kana == $kanji){<br>    SendKeys("{F13}", 300);<br>    SendKeys("{ESCAPE}", 200);<br>    SendKeys("{ENTER}");<br>}<br>SendKeys("+{HOME}");<br>SendKeys("^c");<br>$kana = $CLIP-&gt;GetText();<br>SendKeys("{F13}", 300);<br>SendKeys("{ENTER}");<br>SendKeys("%y");<br>SendKeys("^v");<br></div></section>
    </li></ul></body></html>